"""
UTC（世界协调时间）:格林尼治时间，世界标准时间，
在中国UTC + 8
DST(夏令时）：是一种未来节约能源而认为规定地方时间的制度，
一般在天亮早的夏季讲时间提前一小时

时间的表示形式
1、时间戳
    以整数或者浮点型表示的是一个以秒为单位的时间间隔，这个时间的基础值是
    1970年1月1日零时开始算
2.元组形式
    一种python的数据结构表示，这个元组有9个整数元素，分别表示不同的时间含义
    year,month(1-12),day(1-31),hours(0-23),minutes(0-59),seconds(0-59)
    weekday(0-6,星期一为0），Julian day(1-366):表示该日在本年是第几天
    DST flag（-1 or 0 or 1):夏令时格式，0表示正常格式，1表示夏令时格式，
    -1表示根据当前日期时间格式来判定

3、格式化字符串形式
    %a   本地简化星期名称
    %A   本地完整星期名称
    %b   本地简化月份名称
    %B   本地完整月份名称
    %c   本地相应的日期和时间表示
    %d   一个月中的第几天（01-31）
    %H   一天中的第几个小时（24时制，00-23）
    %I   一天中的第几个小时（12时制，01-12）
    %j   一年中的第几天（001-366）
    %m   月份（01-12）
    %M   分钟数（00-59）
    %P   本地am或者pm的相应符号
    %S   秒（00-59）
    %U   一年中的星期数，以星期天为一个星期
    %w   一个星期中的第几天（0-6，0表示星期日）
    %W   和%U基本相同，以星期一为一个星期
    %x   本地相应日期
    %X   本地相应时间
    %y   去掉世纪的年份（00-99）
    %Y   完整的年份
    %Z   时区的名字（如果不存在为空字符串)
"""
import time
# 方法
# time()
# 返回当前的时间戳，浮点数形式，无需传参
t1 = time.time()
print(t1)

# gmtime()
# 将时间戳转换为UTC时间元组形式，接受一个浮点型时间戳为参数，
# 如果不传默认为当前时间的时间戳
t2 = time.gmtime()
print(t2)

# localtime()
# 可以将时间戳转换为本地时间元组,接受一个浮点型时间戳为参数，
# 如果不传默认为当前时间的时间戳
t3 = time.localtime()
print(t3)

# mktime()
# 将本地时间元组转为时间戳，接受一个时间元组
t4 = time.mktime(t3)
print(t4)

# asctime()
# 将时间元组格式转为字符串形式，接受一个时间元组，
# 默认值为localtime时间的时间元组
t5 = time.asctime(t3)
print(t5)
print(type(t5))

# ctime()
# 将时间戳转换为字符串，接受一个时间戳，默认值为当前时间戳
t6 = time.ctime()
print(t6)
print(type(t6))

# strftime()
# 将时间元组以指定的格式转换为字符串形式，接受一个字符串格式化串
# 时间元组默认为localtime()
t7 = time.strftime("%Y-%m-%d %X", t3)
print(t7)

# strptime()
# 将指定格式的时间字符串解析为时间元组，是strftime逆过程，
t8 = time.strptime("1999-10-01 08:08:08", "%Y-%m-%d %X")
print(t8)

# sleep()
# 延迟一个时间段，接收整形或者浮点型

# clock()
# 返回当前程序执行时间，Unix系统始终返回全部运行时间，windows从第二次开始
# 都是以第一次调用此函数时间戳为基准，而不是以程序开始时间为基准
time.sleep(1)
print(time.clock())
time.sleep(1)
print(time.clock())
time.sleep(2)
print(time.clock())

# tzset()
# 改变本地时区


